package org.example.meetingsystem.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.example.meetingsystem.enums.RoomStatus;
import org.example.meetingsystem.enums.RoomType;

import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
@EqualsAndHashCode(callSuper = false)
@TableName("meeting_rooms")
public class MeetingRoom extends Model<MeetingRoom> {
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @TableField("name")
    private String name;

    @TableField("type")
    private RoomType type;

    @TableField("area")
    private BigDecimal area;

    @TableField("capacity")
    private Integer capacity;

    @TableField("has_projector")
    private Boolean hasProjector;

    @TableField("has_audio")
    private Boolean hasAudio;

    @TableField("has_network")
    private Boolean hasNetwork;

    @TableField("hourly_rate")
    private BigDecimal hourlyRate;

    @TableField("description")
    private String description;

    @TableField("status")
    private RoomStatus status;

    @TableField(value = "created_at", fill = FieldFill.INSERT)
    private LocalDateTime createdAt;

    @TableField(value = "updated_at", fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updatedAt;
}